<html>
<head>
    <meta charset="UTF-8">
    <title>用户信息</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="/static/layui/css/layui.css" media="all">
</head>
<body>
<div class="demoTable">
    姓名：
    <div class="layui-inline">
        <input class="layui-input" name="u_name" id="u_name" autocomplete="off">
    </div>
    <button class="layui-btn" id="searchBtn" data-type="reload">搜索</button>
</div>
    <table class="layui-hide" id="demo" lay-filter="test"></table>
    <!-- 自定义的控件 -->
    <div id="toolbar" style="display: none; ">
        <div class="layui-btn-group">
            <button class="layui-btn layui-btn-sm" lay-event="add" data-method="notice" data-type="auto">添加</button>
        </div>
    </div>
    <script type="text/jsp" id = "barDemo">
        <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script src="/js/jquery-3.4.1.min.js"></script>
    <script src="/static/layui/layui.js"></script>
    <script>
        layui.use(['table','layer','jquery'], function(){
            var table = layui.table;
            var  layer = layui.layer;
            var  $ = layui.jquery;
            //第一个实例
            table.render({
                elem: '#demo'
                ,height: document.body.clientHeight-180
                ,url: '/UserServlet?action=userAll' //数据接口
                ,page:true
                ,id:'testReload'
                ,cols: [[ //表头
                    {field: 'u_id', title: 'ID', width:80, sort: true}
                    ,{field: 'u_username', title: '用户名', width:80}
                    ,{field: 'u_password', title: '密码', width:80, sort: true}
                    ,{field: 'u_name', title: '姓名', width:80}
                    ,{field: 'u_age', title: '年龄', width: 177, sort: true}
                    ,{field: 'u_tel', title: '电话', width: 80}
                    ,{field: 'u_status', title: '状态', width: 80}
                    ,{field: 'right', title: '操作', width: 150, toolbar:'#barDemo'}
                ]]
                ,toolbar:'#toolbar',//表格头信息
                parseData: function (rs) {//数据格式解析
                    console.log(rs);
                    if (rs.code == 200) {
                        return {
                            "code": rs.code,
                            "msg": rs.msg,
                            "count": rs.date.totalCount,
                            "data": rs.date.list
                        }
                    }
                },
                response: {	// 设置响应码
                    statusCode: 200 //规定成功的状态码，默认：0
                }
            });
            //监听事件
            table.on('toolbar(test)', function (obj) {
                alert(1);
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    case 'add':
                        open("添加用户页面","/view/user/add.html");
                        break;
                };
            });
            //监听行事件
            table.on('tool(test)', function(obj){
                alert(1);
                var data = obj.data;
                if(obj.event === 'detail'){
                    open("用户详情页面","/view/user/detail.html?u_id="+data.u_id);
                } else if(obj.event === 'del'){
                    layer.confirm('真的删除行么', function(index){
                        $.ajax({
                            type: "POST",
                            url: "/UserServlet?action=deId",
                            data: {u_id: data.u_id},
                            dataType:"json",
                            success: function (da) {
                                if (da.code == 200) {
                                    layer.msg(da.msg)
                                    obj.del(); //删除对应行（tr）的DOM结构
                                    // location.reload();//刷新当前页面
                                } else {
                                    layer.msg(da.msg)
                                }
                            },
                            error: function (da) {
                                alert("出现错误");
                                return false;
                            }
                        }) //ajax结束
                        layer.close(index);
                    });
                } else if(obj.event === 'edit'){
                    open("用户修改页面","/view/user/edit.html?u_id="+data.u_id);
                }
            });
            //"用户添加页面",
            function open(title,url){
                layer.open({
                    type: 2
                    ,title: title
                    ,content:url
                    ,offset: '50px'
                    ,area: ['500px', '60%']
                    ,end:function () {
                        table.reload('testReload');
                    }
                });
            }

            function searchBtn(){
                /*$.ajax({
                    url:'${pageContext.request.contextPath}/UserServlet?action=userAll',
                    data:'',
                })*/
            }

            var $ = layui.$, active = {
                reload: function () {
                    var u_name = $('#u_name');
                    //执行重载
                    table.reload('testReload', {
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                        , where: {
                            "u_name": u_name.val()
                        }
                    });
                }
            };
            $('.demoTable .layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
        });
    </script>
</body>
</html>